// app.js

App({

  /**
   * 当小程序初始化完成时，会触发 onLaunch（全局只触发一次）
   */
  onLaunch: function () {
    this.onAppUpdate()
  },

  globalData: {
    env: 'prod',          // 开发环境 dev开发 prod生产
  },

  // 检查更新
	onAppUpdate(callback) {
		if (wx.canIUse('getUpdateManager')) {
			const updateManager = wx.getUpdateManager();
			// 请求完新版本信息的回调
			updateManager.onCheckForUpdate(function (result) {
				// 有新版本
				if (result.hasUpdate) {
					// 启用新版本
					updateManager.onUpdateReady(function () {
						wx.showModal({
							title: '更新提示',
							content: '新版本已经准备好，请重启应用',
							showCancel: false,
							success(res) {
								if (res.confirm) {
									// 清缓存 并重启
									wx.clearStorageSync()
									updateManager.applyUpdate()
								}
							}
						})
					});
					// 新版本下载失败
					updateManager.onUpdateFailed(function () {
						wx.showModal({
							title: '已经有新版本了哟~',
							content: '新版本已经上线啦~，请您删除当前小程序，重新搜索打开哟~'
						});
					});
				} else {
					(callback && typeof callback === 'function') && callback()
				}
			});
		} else {
			// 低版本客户端提示
			wx.showModal({
				title: '温馨提示',
				content: '当前微信版本过低，可能无法使用该应用，是否升级到最新版本？',
				showCancel: false,
				success(res) {
					if (res.confirm) {
						wx.updateWeChatApp();
					}
				}
			});
		}
	},

  /**
   * 当小程序启动，或从后台进入前台显示，会触发 onShow
   */
  onShow: function (options) {
    
  },

  /**
   * 当小程序从前台进入后台，会触发 onHide
   */
  onHide: function () {
    
  },

  /**
   * 当小程序发生脚本错误，或者 api 调用失败时，会触发 onError 并带上错误信息
   */
  onError: function (msg) {
    
  }
})

